﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x0200149B RID: 5275
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class UnlockSkilltreeCsReq : IMessage<UnlockSkilltreeCsReq>, IMessage, IEquatable<UnlockSkilltreeCsReq>, IDeepCloneable<UnlockSkilltreeCsReq>, IBufferMessage
	{
		// Token: 0x17004260 RID: 16992
		// (get) Token: 0x0600EBC4 RID: 60356 RVA: 0x00275DB1 File Offset: 0x00273FB1
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<UnlockSkilltreeCsReq> Parser
		{
			get
			{
				return UnlockSkilltreeCsReq._parser;
			}
		}

		// Token: 0x17004261 RID: 16993
		// (get) Token: 0x0600EBC5 RID: 60357 RVA: 0x00275DB8 File Offset: 0x00273FB8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return UnlockSkilltreeCsReqReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17004262 RID: 16994
		// (get) Token: 0x0600EBC6 RID: 60358 RVA: 0x00275DCA File Offset: 0x00273FCA
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return UnlockSkilltreeCsReq.Descriptor;
			}
		}

		// Token: 0x0600EBC7 RID: 60359 RVA: 0x00275DD1 File Offset: 0x00273FD1
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public UnlockSkilltreeCsReq()
		{
		}

		// Token: 0x0600EBC8 RID: 60360 RVA: 0x00275DE4 File Offset: 0x00273FE4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public UnlockSkilltreeCsReq(UnlockSkilltreeCsReq other) : this()
		{
			this.pointId_ = other.pointId_;
			this.itemList_ = other.itemList_.Clone();
			this.level_ = other.level_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x0600EBC9 RID: 60361 RVA: 0x00275E31 File Offset: 0x00274031
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public UnlockSkilltreeCsReq Clone()
		{
			return new UnlockSkilltreeCsReq(this);
		}

		// Token: 0x17004263 RID: 16995
		// (get) Token: 0x0600EBCA RID: 60362 RVA: 0x00275E39 File Offset: 0x00274039
		// (set) Token: 0x0600EBCB RID: 60363 RVA: 0x00275E41 File Offset: 0x00274041
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint PointId
		{
			get
			{
				return this.pointId_;
			}
			set
			{
				this.pointId_ = value;
			}
		}

		// Token: 0x17004264 RID: 16996
		// (get) Token: 0x0600EBCC RID: 60364 RVA: 0x00275E4A File Offset: 0x0027404A
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<ItemCost> ItemList
		{
			get
			{
				return this.itemList_;
			}
		}

		// Token: 0x17004265 RID: 16997
		// (get) Token: 0x0600EBCD RID: 60365 RVA: 0x00275E52 File Offset: 0x00274052
		// (set) Token: 0x0600EBCE RID: 60366 RVA: 0x00275E5A File Offset: 0x0027405A
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Level
		{
			get
			{
				return this.level_;
			}
			set
			{
				this.level_ = value;
			}
		}

		// Token: 0x0600EBCF RID: 60367 RVA: 0x00275E63 File Offset: 0x00274063
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as UnlockSkilltreeCsReq);
		}

		// Token: 0x0600EBD0 RID: 60368 RVA: 0x00275E74 File Offset: 0x00274074
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(UnlockSkilltreeCsReq other)
		{
			return other != null && (other == this || (this.PointId == other.PointId && this.itemList_.Equals(other.itemList_) && this.Level == other.Level && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x0600EBD1 RID: 60369 RVA: 0x00275ED4 File Offset: 0x002740D4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.PointId != 0U)
			{
				num ^= this.PointId.GetHashCode();
			}
			num ^= this.itemList_.GetHashCode();
			if (this.Level != 0U)
			{
				num ^= this.Level.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x0600EBD2 RID: 60370 RVA: 0x00275F3A File Offset: 0x0027413A
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x0600EBD3 RID: 60371 RVA: 0x00275F42 File Offset: 0x00274142
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x0600EBD4 RID: 60372 RVA: 0x00275F4C File Offset: 0x0027414C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.Level != 0U)
			{
				output.WriteRawTag(48);
				output.WriteUInt32(this.Level);
			}
			this.itemList_.WriteTo(ref output, UnlockSkilltreeCsReq._repeated_itemList_codec);
			if (this.PointId != 0U)
			{
				output.WriteRawTag(88);
				output.WriteUInt32(this.PointId);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x0600EBD5 RID: 60373 RVA: 0x00275FB8 File Offset: 0x002741B8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.PointId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.PointId);
			}
			num += this.itemList_.CalculateSize(UnlockSkilltreeCsReq._repeated_itemList_codec);
			if (this.Level != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Level);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x0600EBD6 RID: 60374 RVA: 0x00276024 File Offset: 0x00274224
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(UnlockSkilltreeCsReq other)
		{
			if (other == null)
			{
				return;
			}
			if (other.PointId != 0U)
			{
				this.PointId = other.PointId;
			}
			this.itemList_.Add(other.itemList_);
			if (other.Level != 0U)
			{
				this.Level = other.Level;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x0600EBD7 RID: 60375 RVA: 0x00276085 File Offset: 0x00274285
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x0600EBD8 RID: 60376 RVA: 0x00276090 File Offset: 0x00274290
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num != 48U)
				{
					if (num != 82U)
					{
						if (num != 88U)
						{
							this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
						}
						else
						{
							this.PointId = input.ReadUInt32();
						}
					}
					else
					{
						this.itemList_.AddEntriesFrom(ref input, UnlockSkilltreeCsReq._repeated_itemList_codec);
					}
				}
				else
				{
					this.Level = input.ReadUInt32();
				}
			}
		}

		// Token: 0x04005D4C RID: 23884
		private static readonly MessageParser<UnlockSkilltreeCsReq> _parser = new MessageParser<UnlockSkilltreeCsReq>(() => new UnlockSkilltreeCsReq());

		// Token: 0x04005D4D RID: 23885
		private UnknownFieldSet _unknownFields;

		// Token: 0x04005D4E RID: 23886
		public const int PointIdFieldNumber = 11;

		// Token: 0x04005D4F RID: 23887
		private uint pointId_;

		// Token: 0x04005D50 RID: 23888
		public const int ItemListFieldNumber = 10;

		// Token: 0x04005D51 RID: 23889
		private static readonly FieldCodec<ItemCost> _repeated_itemList_codec = FieldCodec.ForMessage<ItemCost>(82U, ItemCost.Parser);

		// Token: 0x04005D52 RID: 23890
		private readonly RepeatedField<ItemCost> itemList_ = new RepeatedField<ItemCost>();

		// Token: 0x04005D53 RID: 23891
		public const int LevelFieldNumber = 6;

		// Token: 0x04005D54 RID: 23892
		private uint level_;
	}
}
